﻿using System;


abstract class AStarMap : System.Object
{
    /// <summary>
    /// 根据当前节点的状态和目标状态，从“行为效果表”中找到能够帮助达到目标的行为，并把这些行为当作邻居节点返回。
    /// </summary>
    /// <param name="pAStarNode"></param>
    /// <returns></returns>
    public abstract int GetNumAStarNeighbours(AStarNode pAStarNode);
	public abstract short GetAStarNeighbour(AStarNode pAStarNode, short iNeighbor);
	public abstract AStarNode CreateANode(short id);
	public abstract AStarNode.E_AStarFlags GetAStarFlags(short NodeID);
	public virtual void SetAStarFlags(short NodeID, AStarNode.E_AStarFlags flag){}
	public abstract bool CompareNodes(AStarNode node1, AStarNode node2);
	public abstract void Cleanup();
}